/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package javacroft.facade;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import javacroft.business.*;
import javacroft.dataccess.DataAccessFactory;

/**
 * Classe manager pour les enseignants
 * @author Fabien RETIF
 * @version 1.0
 */
public class EnseignantManager {

    private Enseignant monEnseignant = null;
    private DataAccessFactory service = null;

    public EnseignantManager(DataAccessFactory daf)
    {
        service = daf;
    }

    /*
     * Instancie l'enseignant et retourne la liste des département (leur nom) à charger
     */
    public List<String> chargerEnseignant(String login,String password) throws Exception
    {
        List<Map> lesDonnees = service.getInfosEnseignant(login,password);
        List<String> lesResultats = new ArrayList<String>();       
       
        String nomTemp="",prenomTemp="";
        int i = 0;
             
        while (i<lesDonnees.size())
        {
           nomTemp = lesDonnees.get(i).get("unNom").toString();
           prenomTemp = lesDonnees.get(i).get("unPrenom").toString();
           monEnseignant = new Enseignant(nomTemp,prenomTemp);         

            while (i<lesDonnees.size() && nomTemp.equalsIgnoreCase(lesDonnees.get(i).get("unNom").toString()) && prenomTemp.equalsIgnoreCase(lesDonnees.get(i).get("unPrenom").toString()))
            {
              lesResultats.add(lesDonnees.get(i).get("nomDepartement").toString());
              i++;
            }
         }

        return lesResultats;
    }  

    public boolean estLogger()
    {
        return !(monEnseignant == null);
    }

    /**
     * @return the monEnseignant
     */
    public Enseignant getMonEnseignant()
    {
        return monEnseignant;
    }

   void deconnecter()
   {
      monEnseignant = null;
   }

}
